Linux下的c基础编程——按原顺序插入元素
我们有了选择法排序,现在我们将用它进行一个小规模的扩展,今天我们写一个插入函数,其中我们先用选择法对数组进行排序,再按照原顺序进行插入一个元素。
首先我们还是来展示一下我们的代码,这个代码的长度相比于前几篇的代码都要长一些。
#include <stdio.h>
void choic_arrage(int a[10])/*先通过选择法对数组元素进行排序*/
{
int i;
int j;
int k;
int temp;
for(i = 0; i < 10; i++)
{
k = i;
for(j = i+1; j < 10; j++)
{
if(a[k] > a[j])
{
k = j;
}
}
if(k != i)
{
temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
for(i = 0; i < 10; i++)
{
printf("%-3d",a[i]);
}
printf("\n");
}
int compare(int a[10],int n) /*输入要插入的数字,计算出它将插入的位置*/
{
int i;
for(i = 0; i < 10; i++)
{
if(i != 9)
{
if(a[i] < n && n < a[i+1])
{
return i+1;
}
}
else
{
printf("error!\n");
}
}
}
void insert(int a[10],int b[11],int m,int n) /*插入数字,并在数组b【11】中打印出来*/
{
int i;
for(i = 0; i < m; i++)
{
b[i] = a[i];
}
b[m] = n;
for(i = m; i < 10; i++)
{
b[i+1] = a[i];
}
for(i = 0; i < 11; i++)
{
printf("%-3d",b[i]);
}
printf("\n");
}
int main()
{
int a[10];
int b[11];
int i;
int n;
int m;
for(i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
choic_arrage(a);
printf("please input n!\n");
scanf("%d",&n);
m = compare(a,n);
printf("%d\n",m);
insert(a,b,m,n);
return 0;
}
这次代码稍微长了一些,可能是我自己的思路有问题,如果大家有什么好的建议,请提出,我们互相学习互相进步。
下面将在Linux下编译运行这个程序。运行结果见下图:

相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/kaifa/11618.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
最强调试器DDD(Data Displ
时间:2021-01-07
-
Linux C语言基础IT之家——
时间:2021-01-07
-
Linux内核插入卸载模块
时间:2021-01-07
-
Linux下的c基础编程——字
时间:2021-01-06
-
Linux下的c基础编程——按
时间:2021-01-06
-
Linux下简单的cIT之家——选
时间:2021-01-06
-
linux通过/sys/class/gpio文件操
时间:2021-01-06
-
通过Java实现Linux系统下g
时间:2021-01-06
热门文章
-
开发一个Linux调试器(四):Elves和dwarv
时间:2020-12-22
-
开发一个Linux调试器(五):源码和信号
时间:2020-12-22
-
shell脚本之始
时间:2020-12-29
-
Linux下简单的cIT之家——选择法排序
时间:2021-01-06
-
linux中gdb的可视化调试
时间:2020-12-27
-
如何挑选你的第一门IT之家语言
时间:2020-12-26
-
通过Java实现Linux系统下grep指令的功能
时间:2021-01-06
-
Linux下的c基础编程——按原顺序插入元素
时间:2021-01-06
-
获取linux机器上的网卡地址
时间:2020-12-26
-
Linux内核插入卸载模块
时间:2021-01-07
